<?php

namespace Mouta\AmistateBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Gedmo\Mapping\Annotation as Gedmo;

/**
 * Mouta\AmistateBundle\Entity\Mensaje
 *
 * @ORM\Entity
 * @ORM\Table(name="mensaje")
 * @ORM\Entity(repositoryClass="Mouta\AmistateBundle\Entity\MensajeRepository")
 */
class Mensaje
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;
	
	/**
     * @ORM\ManyToOne(targetEntity="Usuario", inversedBy="mensajes_from")
     * @ORM\JoinColumn(name="usuario_from", referencedColumnName="id", onDelete="Cascade")
     */
    protected $usuario_from;
	
	/**
     * @ORM\ManyToOne(targetEntity="Usuario", inversedBy="mensajes_to")
     * @ORM\JoinColumn(name="usuario_to", referencedColumnName="id", onDelete="Cascade")
     */
    protected $usuario_to;
    
    /**
     * @ORM\Column(type="text", nullable=false)
	 * @Assert\NotBlank(message="Complete el mensaje")
     */
    protected $mensaje;
	
	/**
     * @Gedmo\Timestampable(on="create")
     * @ORM\Column(type="datetime")
     */
    private $created;
    
    /**
     * @ORM\Column(type="boolean")
     */
    protected $leido = false;
	
	/**
     * @ORM\Column(type="boolean", nullable=true)
     */
    private $borrado;
	
	/**
     * @ORM\Column(type="string", length=255, nullable=false)
     */
    private $ip;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set mensaje
     *
     * @param string $mensaje
     * @return Mensaje
     */
    public function setMensaje($mensaje)
    {
        $this->mensaje = $mensaje;
    
        return $this;
    }

    /**
     * Get mensaje
     *
     * @return string 
     */
    public function getMensaje()
    {
        return $this->mensaje;
    }

    /**
     * Set created
     *
     * @param \DateTime $created
     * @return Mensaje
     */
    public function setCreated($created)
    {
        $this->created = $created;
    
        return $this;
    }

    /**
     * Get created
     *
     * @return \DateTime 
     */
    public function getCreated()
    {
        return $this->created;
    }

    /**
     * Set leido
     *
     * @param boolean $leido
     * @return Mensaje
     */
    public function setLeido($leido)
    {
        $this->leido = $leido;
    
        return $this;
    }

    /**
     * Get leido
     *
     * @return boolean 
     */
    public function getLeido()
    {
        return $this->leido;
    }

    /**
     * Set borrado
     *
     * @param boolean $borrado
     * @return Mensaje
     */
    public function setBorrado($borrado)
    {
        $this->borrado = $borrado;
    
        return $this;
    }

    /**
     * Get borrado
     *
     * @return boolean 
     */
    public function getBorrado()
    {
        return $this->borrado;
    }

    /**
     * Set ip
     *
     * @param string $ip
     * @return Mensaje
     */
    public function setIp($ip)
    {
        $this->ip = $ip;
    
        return $this;
    }

    /**
     * Get ip
     *
     * @return string 
     */
    public function getIp()
    {
        return $this->ip;
    }

    /**
     * Set usuario_from
     *
     * @param \Mouta\AmistateBundle\Entity\Usuario $usuarioFrom
     * @return Mensaje
     */
    public function setUsuarioFrom(\Mouta\AmistateBundle\Entity\Usuario $usuarioFrom = null)
    {
        $this->usuario_from = $usuarioFrom;
    
        return $this;
    }

    /**
     * Get usuario_from
     *
     * @return \Mouta\AmistateBundle\Entity\Usuario 
     */
    public function getUsuarioFrom()
    {
        return $this->usuario_from;
    }

    /**
     * Set usuario_to
     *
     * @param \Mouta\AmistateBundle\Entity\Usuario $usuarioTo
     * @return Mensaje
     */
    public function setUsuarioTo(\Mouta\AmistateBundle\Entity\Usuario $usuarioTo = null)
    {
        $this->usuario_to = $usuarioTo;
    
        return $this;
    }

    /**
     * Get usuario_to
     *
     * @return \Mouta\AmistateBundle\Entity\Usuario 
     */
    public function getUsuarioTo()
    {
        return $this->usuario_to;
    }
}
